package jvm;

import java.util.*;

/**
 * @Author: admin
 * @Description:
 * @Date: 2018/8/4 9:20
 */

public class HelloWorld {
    A a=new A();
    B b=new B();
    C c=new C();
    //对象头  2字（32位 1字=32bit=4bytes   64位 1字=64bit=8bytes）   32 为 4整除   64 8整除
    U0 u0=new U0();  // 16bytes
    U1 u1=new U1();  // 24    16+4=20   对齐  24
    U2 u2=new U2();  // 24    16+4+4=24
    U3 u3=new U3();  // 32    16+4+4+4=28  对齐 42
    U4 u4=new U4();  // 32    16+4+4+4+4=32
    U5 u5=new U5();  // 40    16+4+4+4+4+4=36 对齐 40
    U6 u6=new U6();  // 40    16+4+4+4+4+4+4=40
    //对象头  3字（32位 1字=32bit=4bytes   64位 1字=64bit=8bytes）
    String[] strings=new String[1];
    String[] strings1=new String[1];

    public static void  main(String[] args){
        //UserInfo userInfo=new UserInfo();
//        try {
//            Thread.sleep(1000*10);
//        } catch (IntegererruptedException e) {
//            e.prIntegerStackTrace();
//        }
//        UserInfo[] userInfos=new UserInfo[600000];
//        for(Integer i=0;i<600000;i++){
//            userInfos[i]=new UserInfo();
//        }
//        System.out.prIntegerln("hello world");
//
//        try {
//            Thread.sleep(1000*10);
//        } catch (IntegererruptedException e) {
//            e.prIntegerStackTrace();
//        }
//        //userInfos=null;
//        System.out.prIntegerln("hello world");




        List<String> arrayList=new ArrayList<String>();
//        List<String> vector=new Vector<String>();
//        List<String> linkedList=new LinkedList<String>();
//
//
//        Queue<String> priorityQueue=new PriorityQueue<String>();
//
//        Map<Integer,String> hashMap=new HashMap<Integer, String>();
        //hashMap.




        HelloWorld helloWorld=new HelloWorld();

        int i=0;
        while (true){//HelloWorld helloWorld1=new HelloWorld();
            //System.out.println(++i);
        }


    }

    // 16+（4+1+2） =23    对齐 24
    class A{
        int    a;
        char   b;
        short  c;
    };
    // 16+(1+8+2)= 27 对齐 32
    class B{
        char   b;
        double    a;
        short  c;
    };
    // 16+(1+8+2+4)=31  对齐 32
    class C{
        char   b;
        double    a;
        short  c;
        B ob;
    };

    private class U0{

        public U0(){

        }
    }
    private class U1{
        private Integer a;
        public U1(){
            a=1;
        }
    }
    private class U2{
        private Integer a;
        private Integer b;
        public U2(){
            a=1;
            b=1;
        }
    }
    private class U3{
        private Integer a;
        private Integer b;
        private Integer c;
        public U3(){
            a=1;
            b=10278;
            c=9999;
        }
    }

    private class U4{
        private Integer a;
        private Integer b;
        private Integer c;
        private Integer d;
        public U4(){
            a=1;
            b=10278;
            c=9999;
            d=10278;
        }
    }

    private class U5{
        private Integer a;
        private Integer b;
        private Integer c;
        private Integer d;
        private Integer e;
        public U5(){
            a=1;
            b=10278;
            c=9999;
            d=10278;
            e=987;
        }
    }

    private class U6{
        private Integer a;
        private Integer b;
        private Integer c;
        private Integer d;
        private Integer e;
        private Integer f;
        public U6(){
            a=1;
            b=10278;
            c=9999;
            d=10278;
            e=987;
            f=999;
        }
    }
}
